import qs from 'qs'
 //const baseUrl = 'http://127.0.0.1:9090' // 测试地址
const baseUrl = 'https://api.zdaole.com' // 测试地址

// const baseUrl = 'https://xxxx.com' // 正式地址
const ossUrl = 'http://api.zdaole.cqxuqu.com/wechatApplet'
const tpUrl = 'https://zdaole.oss-cn-beijing.aliyuncs.com' // 图片
// const ossUrl = '/WebAPI'
const fetchData = function(params) {
	let _self = this;
	let type = params.type;
	let method = params.method || 'post';

	let requertUrl = baseUrl + params.url;
	let header = params.header || {
		'content-type': "application/json"
	};
	
	let token = uni.getStorageSync('token');
	if (token) {
		let _token = {
			// 'Authorization': `Bearer ${token}`
			'token': token
		}
		header = Object.assign(header, _token)
	}
	let data = params.data || {};
	if (method == 'get' || method == 'GET') {
		// debugger
		if (JSON.stringify(data) != '{}') {
			let _data = qs.stringify(data)
			requertUrl += `?${_data}`
		}
	}
	// debugger
	let hideLoading = params.loading || false;
	if (!hideLoading) {
		uni.showLoading({
			title: '加载中...'
		})
	}
	// console.log(header)
	uni.request({
		url: requertUrl,
		method: method,
		header: header,
		data:params.body?params.body: JSON.stringify(data),
		success: function(res) {
			uni.hideLoading()
			if (res.statusCode == 200) { //api错误
				params.success(res.data)
			}else if(res.statusCode == 201) {
				params.success(res.data)
			} else {
				// uni.hideLoading()
				uni.showToast({
					title: res.data.msg,
					icon: 'none'
				})
				 
				// uni.showToast({
				// 	title: res.message,
				// 	icon: 'none',
				// 	duration: 2000
				// })
				// if (res.data.rc !== 0) {
				// 	uni.showToast({
				// 		title: res.data.ResultInfo || res.data.msg,
				// 		icon: 'none',
				// 		duration: 2000
				// 	})
				// 	if (res.data.rc === 401) {
				// 		uni.removeStorageSync('token')
				// 		uni.reLaunch({
				// 			url: '/pages/loadingPage/loadingPage'
				// 		})
				// 	}
				// 	if (res.data.rc === 403) {
				// 		uni.showToast({
				// 			title: '未获得相关权限',
				// 			icon: 'none',
				// 			duration: 2000
				// 		})
				// 	}
				// 	if (res.data.rc == 1) {
				// 		uni.showToast({
				// 			title: '系统错误，请稍后重试',
				// 			icon: 'none',
				// 			duration: 2000
				// 		})
				// 	}
				// 	return
				// }
				//  else {
				// 	params.success(res)
				// }

			}
		},
		fail(res) {
			console.log('err',res)
			uni.hideLoading()
			uni.showToast({
				title: res.data.msg,
				icon: 'none'
			})
			params.fail(res.data)
		},
		complete(res) {
			// console.log(res)
		}
	})
}
const uploadData = function(params) {
	let _self = this;
	let requertUrl = ossUrl + params.url;
	let filesPath = params.filePath
	let formData = params.data || null;
	let hideLoading = params.loading || false;
	let header = params.header || {
		'content-type': "application/json"
		// 'content-type': "multipart/form-data"
		
	};
	let token = uni.getStorageSync('token');
	if (token) {
		let _token = {
			'Authorization': `Bearer ${token}`
		}
		header = Object.assign(header, _token)
	}
	if (!hideLoading) {
		uni.showLoading({
			title: '文件上传中...'
		})
	}
	uni.uploadFile({
		url: requertUrl,
		filePath: filesPath,
		fileType: 'file',
		name: 'file',
		header: header,
		formData: formData,
		success: function(res) {
			if (res.statusCode && res.statusCode != 200) { //api错误
				uni.showToast({
					title: res.errMsg,
					icon: 'none'
				})
				return;
			} else {
				uni.hideLoading()
				res.data = JSON.parse(res.data)
				if (res.data.ResultCode !== 0) {
					uni.showToast({
						title: '上传成功',
						icon: 'none'
					})
					return
				}
				params.success(res.data)
			}
		},
		fail(res) {
			uni.showToast({
				title: '请求失败',
				icon: 'none'
			})
		},
		complete(res) {
			console.log(res)
		}
		// success: (uploadFileRes) => {
		// 	console.log(uploadFileRes.data);
		// 	_self.files = uploadFileRes.data.Data
		// 	_self.uploadFile()
		// }
	});
}
export default {
	fetchData,
	uploadData,
	baseUrl,
	tpUrl
}